#ifndef NIXONBOT_CORE_BNCS_PROTOCOL_NULL_H_
#define NIXONBOT_CORE_BNCS_PROTOCOL_NULL_H_

#include <nixonbot/core/bncs/protocol/Message.h>
#include <nixonbot/core/bncs/protocol/MessageFactory.h>

namespace nixonbot {
namespace core {
namespace bncs {
namespace protocol {

struct NullData : public QSharedData
{
};

class Null : public Message
{
 public:
	static const int id = 0x00;
	BNCS_MESSAGE_CLIENT_REGISTER(Null, id);
	BNCS_MESSAGE_SERVER_REGISTER(Null, id);

public:
	QSharedDataPointer<NullData> d;

public:
	Null()
	{
	  d = new NullData();
	}
	
	virtual Null* create()
	{
	  return new Null();
	}
	
	virtual quint32 id()
	{
	  return id;
	}

	virtual int size()
	{
	  return 0;
	}

protected:
	virtual void readFrom(QDataStream& ds)
	{
	}

	virtual void writeTo(QDataStream& ds)
	{
	}
};

}
}
}
}

#endif
